package com.yanftch.stopcoding.ui;

import javax.swing.*;
import java.awt.*;

public class CenteredLabelsPanel extends JPanel {
    public CenteredLabelsPanel(String text1, String text2, String text3) {
        // 设置 BoxLayout，使组件在垂直方向上排列
        setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));

        // 创建 JLabel，并设置不同的字号
        JLabel label1 = new JLabel(text1);
        JLabel label2 = new JLabel(text2);
        JLabel label3 = new JLabel(text3);

        // 设置字体和颜色
        Font font1 = label1.getFont().deriveFont(Font.BOLD, 20f);
        label1.setFont(font1);
        label1.setForeground(Color.WHITE);

        Font font2 = label2.getFont().deriveFont(Font.PLAIN, 16f);
        label2.setFont(font2);
        label2.setForeground(Color.decode("#C0C0C0"));

        Font font3 = label3.getFont().deriveFont(Font.PLAIN, 14f);
        label3.setFont(font3);
        label3.setForeground(Color.decode("#7093DB"));

        // 设置居中对齐
        label1.setAlignmentX(Component.CENTER_ALIGNMENT);
        label2.setAlignmentX(Component.CENTER_ALIGNMENT);
        label3.setAlignmentX(Component.CENTER_ALIGNMENT);

        // 添加 label1
        add(label1);

        // 添加 label2，如果不为空
        if (!text2.isEmpty()) {
            add(Box.createVerticalStrut(10)); // 在 label1 和 label2 之间添加间距
            add(label2);
        }

        // 添加 label3，如果不为空
        if (!text3.isEmpty()) {
            add(Box.createVerticalStrut(20)); // 在 label2 和 label3 之间添加间距
            add(label3);
        }

    }
    public static void main(String[] args) {
        JFrame frame = new JFrame("Centered Labels Panel");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 创建自定义面板并添加到窗口
        CenteredLabelsPanel panel = new CenteredLabelsPanel("First Line", "Second Line","1111111111" );
        panel.setBackground(Color.BLACK); // 设置背景色为黑色
        frame.add(panel);

        frame.setSize(400, 300);
        frame.setLocationRelativeTo(null); // 窗口居中
        frame.setVisible(true);
    }
}
